home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 25 / AMIGAplus Sonderheft 25 (2000)(Falke)(DE)(Track 1 of 4)[!].iso / Updates / HD-Installer / jst_dev / sources / src / loaders / Qwak / qwakhd.asm < prev    next >
Assembly Source File  |  2000-04-12  |  1KB  |  81 lines

  1. ; *** Qwak HD Loader V1.3c
  2. ; *** Written by Jean-François Fabre (jffabre@ensica.fr)
  3.  
  4. ; *** A simple example of a hd loader (my first one actually)
  5.  
  6.  
  7.     MACHINE    68000
  8.  
  9.     include    "jst.i"
  10.  
  11.     HD_PARAMS    "Qwak.d",STD_DISK_SIZE,1
  12.  
  13. loader:
  14.     move.l    #$80000,D0
  15.     JSRABS    AllocExtMem
  16.     RELOC_MOVEL    D0,ExtBase
  17.     beq    MemErr        ; extension mem is necessary
  18.     
  19.     Mac_printf    "QWAK HD Loader V1.3c (JST final)"
  20.     Mac_printf    "Coded by Jean-Francois Fabre © 1995-1997"
  21.  
  22.     JSRABS    LoadDisks
  23.  
  24.     move.l    #CACRF_CopyBack,D1
  25.     moveq.l    #0,D0
  26.     JSRABS    Degrade
  27.  
  28.     GO_SUPERVISOR
  29.     SAVE_OSDATA    $80000
  30.  
  31.     LEA    $0007F000,A7
  32.     MOVE    #$2700,SR
  33.     JSRGEN    FreezeAll
  34.     BSET    #$01,$00BFE001
  35.  
  36.     move.l    #0,D3
  37.     move.l    #2,D1
  38.     move.l    #$60000,A0
  39.     move.l    #$16,D2
  40.     JSRGEN    ReadRobSectors
  41.  
  42.     PATCHUSRJMP    $60086,PatchLoader1
  43.     PATCHGENJMP    $6078E,ReadRobSectors
  44.  
  45.     JSRGEN    FlushCachesHard
  46.  
  47.     move.l    ExtBase(pc),$FFC.W
  48.     JMP    $60034
  49.  
  50. PatchLoader1:
  51.     STORE_REGS
  52.  
  53.     PATCHUSRJSR    $11FC.W,kbint        ; keyboard
  54.     PATCHGENJMP    $29AC.W,ReadRobSectors    ; disk
  55.  
  56.     JSRGEN    GoECS
  57.     JSRGEN    FlushCachesHard
  58.     RESTORE_REGS
  59.     jmp    $1000.W
  60.  
  61. kbint:
  62.     cmp.b    #$59,D0
  63.     bne    kbend
  64.  
  65.     ; *** try to quit
  66.  
  67.     JSRGEN    InGameExit
  68.  
  69. kbend:
  70.     bset    #6,$E00(A0)
  71.     rts
  72.  
  73. ExtBase:
  74.     dc.l    0    ; extension memory location
  75.  
  76. MemErr:
  77.     Mac_printf    "** Not enough memory to run QWAK. Set the NOFAST tooltype"
  78.     JMPABS    CloseAll
  79.  
  80.  
  81.